Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(upgrade-tests): use local build + multiple "old" versions #12536

Closed
wants to merge 2 commits into from

Conversation

samugi
Copy link
Member

@samugi samugi commented Feb 5, 2024

WIP/DRAFT

Summary

Run upgrade tests using local build

Before this change, the upgrade tests used container images for the old and the new Kong versions. The Lua files from the checked-out repository branch were then installed in the new version container. This only worked if the binaries in the container were compatible with the Lua code.

This changes the upgrade tests so that for the new version, the local build is used instead of a patched container.

Run upgrade tests from multiple "old" versions

Currently only 2.8.0 is used to run migration tests, all the way up to the "new" (current) version. This means that only features that are shared across all versions from "old" to "new" can be tested, e.g. a plugin that is not available in `2.8.0`` cannot be configured and used in migration tests.

This change introduces a list of "old_versions" and repeats the tests for each. Tests can use the OLD_KONG_VERSION environment variable to determine whether they should execute for the current version.

Checklist

  • The Pull Request has tests
  • (no) A changelog file has been created under changelog/unreleased/kong or skip-changelog label added on PR if changelog is unnecessary. README.md
  • (no) There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Issue reference

KAG-3612

@samugi samugi marked this pull request as draft February 5, 2024 12:20
@github-actions github-actions bot added the chore Not part of the core functionality of kong, but still needed label Feb 5, 2024
@samugi samugi force-pushed the feat/ci-migration-tests-local-env-testing branch from b821e2e to ba2bce9 Compare February 5, 2024 12:24
@pull-request-size pull-request-size bot added size/L and removed size/M labels Feb 5, 2024
@samugi samugi force-pushed the feat/ci-migration-tests-local-env-testing branch from ba2bce9 to 794e353 Compare February 5, 2024 12:42
@pull-request-size pull-request-size bot added size/XL and removed size/L labels Feb 5, 2024
@samugi samugi force-pushed the feat/ci-migration-tests-local-env-testing branch 6 times, most recently from c56f9f9 to faea10b Compare February 5, 2024 14:26
@pull-request-size pull-request-size bot added size/L and removed size/XL labels Feb 5, 2024
@samugi samugi force-pushed the feat/ci-migration-tests-local-env-testing branch 6 times, most recently from 6245fd8 to 898f42f Compare February 5, 2024 16:58
@samugi samugi changed the title feat(ci): use local venv for migration tests feat(upgrade-tests): use local build + multiple "old" versions Feb 5, 2024
@samugi samugi force-pushed the feat/ci-migration-tests-local-env-testing branch 2 times, most recently from 4675b57 to 4b9fb3e Compare February 5, 2024 18:10
@pull-request-size pull-request-size bot added size/XL and removed size/L labels Feb 5, 2024
@samugi samugi force-pushed the feat/ci-migration-tests-local-env-testing branch from 4b9fb3e to e586111 Compare February 5, 2024 18:22
@samugi samugi force-pushed the feat/ci-migration-tests-local-env-testing branch from e586111 to d9b62ae Compare February 5, 2024 19:02
Before this commit, the upgrade tests used container images for the old
and the new Kong versions. The Lua files from the checked-out repository
branch were then installed in the new version container. This only
worked if the binaries in the container were compatible with the Lua
code.

This commit changes the upgrade tests so that for the new version, the
local build is used instead of a patched container.
Currently only 2.8.0 is used to run migration tests, all the way up to
the "new" (current) version. This means that only features that are
shared across all versions from "old" to "new" can be tested, e.g. a
plugin that is not available in `2.8.0` cannot be configured and used
in migration tests.

This commit introduces a list of "old_versions" and repeats the tests
for each. Tests can use the `OLD_KONG_VERSION` environment variable to
determine whether they should execute for the current version.
@samugi samugi force-pushed the feat/ci-migration-tests-local-env-testing branch from ce0a04d to d75b0f3 Compare February 6, 2024 08:13
@pull-request-size pull-request-size bot added size/L and removed size/XL labels Feb 6, 2024
@samugi samugi closed this Feb 6, 2024
@samugi samugi deleted the feat/ci-migration-tests-local-env-testing branch February 6, 2024 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Not part of the core functionality of kong, but still needed size/L
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant